'use strict'

define([ 'jquery', 'bootstrap', 'select2', 'shiftform', 'validate',
        'validate.en' ], function($) {
    return {
        init : function() {
            this.initEdit();
            this.initCreate();
            this.resetPassword();
            this.freeze();
            this.activate();
        },

        initEdit : function() {

            $(document).on('shown.bs.modal', '#edit', function(e) {

                $(document).find('form[data-validate="true"]').bt_validate() // bind
                                                                                // validate

                var $form = $(document).find("form") // bind shiftform
                $form.shiftform({
                    beforeSubmit : function(el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });

        },
        initCreate : function() {

            $(document).on('shown.bs.modal', '#create', function(e) {
                
                $('select[name="authority"]').change(function() {
                    var role = $(this).val()
                    if(role == 'ADMIN_USER' || role == 'FINANCE_USER') {
                        $('.district').addClass('hide')
                    } else {
                        $('.district').removeClass('hide')
                    }
                })

                $(document).find('form[data-validate="true"]').bt_validate() // bind
                                                                                // validate

                var $form = $(document).find("form") // bind shiftform
                $form.shiftform({
                    beforeSubmit : function(el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });

        },
        resetPassword : function(){
            
            $(document).on("shown.bs.modal" , "#reset-password" , function(e){
              
              $(e.currentTarget).find("form").shiftform() 
            
            });
            
          },
          freeze : function(){
              $(document).on("shown.bs.modal" , "#freeze" , function(e){
                $(e.currentTarget).find("form").shiftform() 
              });
              
            },
            activate : function(){
                
                $(document).on("shown.bs.modal" , "#activate" , function(e){
                  
                  $(e.currentTarget).find("form").shiftform() 
                
                });
                
            }
    }
})
